<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	template="./templates/main.xhtml">

	<ui:define name="title">Detalle empleado</ui:define>

	<ui:define name="content">

		<f:metadata>
			<f:viewParam name="idEmpleado" value="#{empleadosBean.idEmpleado}" />
			<f:event type="preRenderView"
				listener="#{empleadosBean.loadEmpleado}" />
		</f:metadata>

		<p:tabView effect="opacity" effectDuration="normal">

			<p:tab title="Datos generales" id="datosgenerales">

				<h:form prependId="false" id="detalleForm">

					<h:panelGrid columns="2" cellpadding="10" id="detalle">
						<h:outputText value="Nombre" styleClass="negrita" />
						<h:outputText value="#{empleadosBean.currentEmpleado.nombre}" />

						<h:outputText value="Primer apellido" styleClass="negrita" />
						<h:outputText value="#{empleadosBean.currentEmpleado.apellido1}" />

						<h:outputText value="Segundo apellido" styleClass="negrita" />
						<h:outputText value="#{empleadosBean.currentEmpleado.apellido2}" />

						<h:outputText value="N.I.F" styleClass="negrita" />
						<h:outputText value="#{empleadosBean.currentEmpleado.nif}" />

						<h:outputText value="Puntos acumulados" styleClass="negrita" />
						<h:outputText value="#{empleadosBean.currentEmpleado.puntos}"
							rendered="#{empleadosBean.currentEmpleado.puntos ge 0}"
							converter="javax.faces.Integer" />
						<h:outputText value="#{empleadosBean.currentEmpleado.puntos}"
							rendered="#{empleadosBean.currentEmpleado.puntos lt 0}"
							style="color:red" converter="javax.faces.Integer" />

					</h:panelGrid>

				</h:form>

			</p:tab>

			<p:tab title="Lineas asociadas">

				<h:form prependId="false">

					<p:dataTable id="lineas"
						rowEditListener="#{empleadosBean.rowEditLineaListener}"
						onRowEditUpdate="growl lineas"
						value="#{empleadosBean.currentEmpleado.lineasList}" var="linea"
						dynamic="true" emptyMessage="#{msg['label.lineasNoHalladas']}">

						<p:column headerText="Tipo de linea" styleClass="columna">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{linea.tipo.descripcion}" />
								</f:facet>
								<f:facet name="input">
									<h:selectOneMenu id="tipo" value="#{linea.tipo}">
										<f:selectItems value="#{empleadosBean.tiposLinea}" />
									</h:selectOneMenu>
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:column headerText="#{msg['label.numeroAsociado']}"
							style="width:150px">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{linea.numero}" />
								</f:facet>
								<f:facet name="input">
									<p:inputText value="#{linea.numero}" maxlength="15" />
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:column headerText="Posee descuento" styleClass="columna">
							<p:cellEditor>
								<f:facet name="output">
									<h:selectBooleanCheckbox value="#{linea.poseeDescuento}"
										disabled="true" />
								</f:facet>
								<f:facet name="input">
									<h:selectBooleanCheckbox value="#{linea.poseeDescuento}" />
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:column headerText="Usuario" style="width:150px">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{linea.usuario}" />
								</f:facet>
								<f:facet name="input">
									<p:inputText value="#{linea.usuario}" maxlength="25" size="15" />
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:column headerText="#{msg['label.extension']}"
							styleClass="columna">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{linea.extension}" />
								</f:facet>
								<f:facet name="input">
									<p:inputText value="#{linea.extension}" maxlength="25"
										size="10" />
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:column headerText="Estado" styleClass="columna">
							<p:cellEditor>
								<f:facet name="output">
									<h:outputText value="#{linea.estado.descripcion}" />
								</f:facet>
								<f:facet name="input">
									<h:selectOneMenu value="#{linea.estado}">
										<f:selectItems value="#{empleadosBean.estados}" />
									</h:selectOneMenu>
								</f:facet>
							</p:cellEditor>
						</p:column>

						<p:column style="width:65px">
							<f:facet name="header">
								<h:outputText value="" />
							</f:facet>
							<p:rowEditor />
							<p:commandButton image="cancelar" title="Eliminar linea"
								onclick="dlgConfirmEliminacionLineaTelefonica.show()">
								<f:setPropertyActionListener
									target="#{empleadosBean.currentLinea}" value="#{linea}" />
							</p:commandButton>
						</p:column>

					</p:dataTable>

				</h:form>

				<h:form prependId="false">

					<p:commandButton type="button" value="#{msg['button.nuevaLinea']}"
						image="nuevo" onclick="dlgAltaLinea.show()" />

					<p:dialog header="#{msg['label.datosNuevaLineaTelefonica']}"
						widgetVar="dlgAltaLinea" resizable="true" draggable="true"
						showEffect="clip" hideEffect="clip" height="265" width="400">

						<h:panelGrid id="altaLinea" columns="2" style="margin-bottom:10px">

							<h:outputLabel for="numero" value="#{msg['label.numero']}:" />
							<p:inputText id="numero" maxlength="25"
								value="#{empleadosBean.currentLinea.numero}" />

							<h:outputLabel for="tipo" value="Tipo:" />
							<h:selectOneMenu id="tipo"
								value="#{empleadosBean.currentLinea.tipo}">
								<f:selectItems value="#{empleadosBean.tiposLinea}" />
							</h:selectOneMenu>

							<h:outputLabel value="Posee descuento:" />
							<h:selectBooleanCheckbox
								value="#{empleadosBean.currentLinea.poseeDescuento}" />

							<h:outputLabel for="usuario" value="Usuario:" />
							<p:inputText id="usuario" maxlength="25"
								value="#{empleadosBean.currentLinea.usuario}" />

							<h:outputLabel for="extension" value="#{msg['label.extension']}:" />
							<p:inputText id="extension" maxlength="25"
								value="#{empleadosBean.currentLinea.extension}" />

						</h:panelGrid>

						<p:commandButton value="Insertar" update="lineas altaLinea growl"
							oncomplete="dlgAltaLinea.hide()" image="guardar"
							actionListener="#{empleadosBean.insertarLinea}" />

					</p:dialog>

				</h:form>

				<h:form prependId="false" id="confirmarEliminacionLinaTelefonica">

					<p:dialog header="#{msg['label.eliminarLinaTelefonica']}"
						width="350" height="160"
						widgetVar="dlgConfirmEliminacionLineaTelefonica" resizable="true"
						showEffect="clip" hideEffect="clip" modal="true">

						<h3>#{msg['label.confirmEliminacionLineaTelefonica']}</h3>

						<p:commandButton image="confirmar" value="Eliminar"
							update="lineas growl"
							oncomplete="dlgConfirmEliminacionLineaTelefonica.hide()"
							actionListener="#{empleadosBean.eliminarLineaTelefonica}" />

						<p:commandButton image="volver" value="Volver"
							onclick="dlgConfirmEliminacionTelefonica.hide()" />

					</p:dialog>

				</h:form>

			</p:tab>

			<p:tab title="Movimiento de puntos">

				<h:form prependId="false">

					<p:dataTable id="consumos"
						value="#{empleadosBean.currentEmpleado.consumosList}"
						var="consumo" dynamic="true"
						emptyMessage="No se han hallado consumos">

						<p:column>
							<f:facet name="header">
								<h:outputText value="Puntos consumidos" />
							</f:facet>
							<h:outputText value="#{consumo.puntosConsumidos}"
								rendered="#{consumo.puntosConsumidos ge 0}"
								converter="javax.faces.Integer" />
							<h:outputText value="#{consumo.puntosConsumidos}"
								rendered="#{consumo.puntosConsumidos lt 0}"
								converter="javax.faces.Integer" style="color:red" />

						</p:column>

						<p:column>
							<f:facet name="header">
								<h:outputText value="Fecha" />
							</f:facet>
							<h:outputText value="#{consumo.fechaConsumo}">
								<f:convertDateTime pattern="dd/MM/yyyy" />
							</h:outputText>
						</p:column>

						<p:column>
							<f:facet name="header">
								<h:outputText value="Concepto" />
							</f:facet>
							<h:outputText value="#{consumo.concepto}" />

						</p:column>

					</p:dataTable>

					<p:commandButton type="button" value="Nuevo Consumo" image="nuevo"
						onclick="dlgAltaConsumo.show()" />

					<p:dialog header="Datos nuevo movimiento de puntos" width="400"
						widgetVar="dlgAltaConsumo" resizable="true" draggable="true"
						showEffect="clip" hideEffect="clip">

						<h:panelGrid id="datosAlta" columns="2" style="margin-bottom:10px">

							<h:outputLabel for="PuntosConsumidos" value="Puntos consumidos:" />
							<p:inputText id="PuntosConsumidos"
								value="#{empleadosBean.currentConsumo.puntosConsumidos}"
								maxlength="6" />

							<h:outputLabel for="fechaConsumoPuntos" value="Fecha:" />
							<p:calendar id="fechaConsumoPuntos"
								value="#{empleadosBean.currentConsumo.fechaConsumo}"
								pattern="dd/MM/yyyy" locale="es" pages="3" />

							<h:outputLabel for="conceptoConsumo" value="Concepto:" />
							<p:inputTextarea id="conceptoConsumo" autoResize="false"
								value="#{empleadosBean.currentConsumo.concepto}" />

						</h:panelGrid>

						<p:commandButton value="Insertar"
							update="consumos datosAlta growl detalleForm"
							onsuccess="dlgAltaConsumo.hide()" image="guardar"
							actionListener="#{empleadosBean.insertarConsumo}" />

					</p:dialog>

				</h:form>

			</p:tab>

		</p:tabView>

	</ui:define>

</ui:composition>